package org.jzyan.framework.job.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author jzyan
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface XxlRegister {

    String cron();

    String jobDesc() default "default";

    String author() default "default";

    /**
     * ROUND 轮询
     * FAILOVER 故障转移
     * BUSYOVER 忙碌转移
     * FIRST 第一个
     * LAST 最后一个
     * RANDOM 随机
     * CONSISTENT_HASH 一致性HASH
     * LEAST_FREQUENTLY_USED 最不经常使用
     * LEAST_RECENTLY_USED 最近最久未使用
     * SHARDING_BROADCAST 分片广播
     *
     * @return
     */
    String executorRouteStrategy() default "FAILOVER";

    /**
     * 调度状态：0-停止，1-运行
     *
     * @return
     */
    int triggerStatus() default 0;

}
